#include <stdio.h> FILE *fopen(pathname, type); char *pathname; path-имя файла. char *type; разрешенный тип доступа.
Описание.
Функция fopen открывает файл, определяемый path -именем. Символы в строке type определяют тип доступа, требуемый для файла, следующим образом.
РЕЖИМ ОПИСАНИЕ
"r" открыть файл для чтения.(Этот файл должен
существовать).
"w" открыть пустой файл для записи; если этот
файл ранее существовал, его содержимое
уничтожается.
"a" открыть файл для записи (добавления) в
конец. Если данного файла нет, то вначале
он создается.
"r+" открыть файл одновременно для чтения и
записи. Файл должен существовать.
"w+" открыть пустой файл для чтения и записи.
Если этот файл ранее существовал, его
содержимое уничтожается.
"a+" открыть файл для чтения и добавления.
Если файла нет, вначале он создается.
Замечание!
Нужно внимательно применять режимы "w", "w+", так как они могут уничтожить существующие файлы.
Если файл открыт при помощи типа "a" или "a+", все операции записи выполняются в конец файла. При использовании функций fseek или rewind возможно перепозиционирование указателя на файл; несмотря на это, указатель на файл перед выполнением любых операций записи всегда возвращается в конец файла. Таким образом, существующие данные не будут перезаписаны. При использовании типов "r+', "w+", "a+" допускается одновременно чтение и запись. (Говорится, что файл открывается для обновления). Поэтому, при переключении чтения на запись и наоборот нужно использовать функции fseek или rewind . Для функции fseek (при необходимости) может быть точно определена текущая позиция.
Дополнительно к значениям, описанным выше, может быть добавлен в строке type один из следующих символов, чтобы специфицировать способ преобразования символа новой строки.
Символ Значение
t открыть в текстовом (преобразующем)
режиме; при вводе комбинация "Возврат
каретки - перевод строки"
преобразовывается к единственному символу
"перевода строки". При выводе символ
перевода строки преобразовывается в
комбинацию ВК-ПС.
b открыть в двоичном (непреобразующем)
режиме; выше описанные преобразования не
осуществляются.
Если t или b в строке type не задается, режим преобразования определяется переменной _fmode и режимом, устанавливаемым по умолчанию.
Возвращаемое значение.
Функция fopen возвращает указатель на открытый файл. Значение указателя NULL свидетельствует об ошибке.
Пример:
#include <stdio.h>
main (argc, argv)
int argc;
char *argv[];
{
FILE *stream;
/* применение fopen позволяет открыть файл, имя которого
хранится в указателе argv[argc-1]; если это не удается, программа
распечатывает сообщение об ошибке */
if ((stream= fopen(argv[argc-1]), "r"))==NULL)
{ fprintf (stderr, "%s не может открыть файл %s\n",
argv[0], argv[argc-1]);
exit(1);
}
/* Замечание! Имя программы хранится в argv[0] только для
версий MS DOS 3.0 и последующих; в предыдущих версиях MS DOS,
argv[0] содержится в строке "Си" */